/**
 * 好友列表适配器，用于将好友数据绑定到ListView的item视图
 */
package com.example.gitpart03.adapter;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

import com.example.gitpart03.R;
import com.example.gitpart03.entity.Friend;

import java.util.List;

public class FriendAdapter extends ArrayAdapter<Friend> {
    private int resourceId;

    /**
     * 构造方法，初始化好友适配器
     * @param context 上下文
     * @param resource item布局资源ID
     * @param objects 好友数据列表
     */
    public FriendAdapter(@NonNull Context context, int resource, List<Friend> objects) {
        super(context, resource, objects);
        resourceId = resource;
    }

    /**
     * 获取item视图，绑定好友信息到视图控件
     * @param position 列表位置
     * @param convertView 复用视图
     * @param parent 父容器
     * @return 绑定数据后的item视图
     */
    @NonNull
    @Override
    public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
        Friend friend =getItem(position);
        View friendView = LayoutInflater.from(getContext()).inflate(resourceId,null);
        TextView subheadText = friendView.findViewById(R.id.text_subhead);
        TextView nameText= friendView.findViewById(R.id.text_game);
        ImageView img= friendView.findViewById(R.id.img_game);
        nameText.setText(friend.getName());
        subheadText.setText(friend.getSubhead());
        img.setImageResource(friend.getImg());
        return friendView;
    }
}
